LinuC-1 - 102試験 - 1.10:セキュリティ - 1.10.2 ホストのセキュリティ設定

Last Update : August 23 2022 19:00:29

     

a. スーパーサーバ

ネットワークを介したサービスを提供するデーモンは通常、メイン・メモリーに常駐してネットワーク経由の要求を常時監視します。このため、複数のサービスを起動していると、CPUの負荷やメモリーの消費量が増加してシステム全体のパフォーマンスが低下することがあります。

これを避けるためにLinuxでは、各ネットワークサービスは停止していて、複数のサービスを1個のデーモンが代表して監視し、接続が確立した時点で個別のネットワークサービスデーモンを呼び出す仕組みになっています。代表して監視するデーモン、デーモンのためのデーモンを「スーパーサーバー」あるいは「スーパー・デーモン」と呼びます。

スーパーサーバを利用すると、複数のサービスを起動しておく必要がなく、スーパーサーバひとつですべてのポートを監視することができますのでサーバのメモリなどのリソースの消費を防ぐことができます。また、スタンドアローン型のサービス(スーパーサーバを経由せずサービスを提供する)は、1度サービスがダウンすると、手動で再起動するしかありませんが、スーパーサーバ型の場合はサービスが1度ダウンしたとしても、もう1度コネクションを行うことでスーパーサーバがサービスを呼び出すことができます。 しかし、サービスを提供するデーモンに対して、コネクションが多発するものや、速度を重視するサービスの場合は、スーパーサーバを経由することになりますので、応答が遅くなります。そのようなサービスの場合は、スタンドアロン型が適しています。

また、TCPWrappersという仕組みと組み合わせて使うことで、アクセス制御を集中的に管理することができます。
デメリットとしては、応答が遅れるということがあります。クライアントからの要求にすばやく応答しなければならないサービスには不向きです。

 Linuxディストリビューションの多くは「xinetd」というスーパーサーバーを備えています。xinetdは、例えば、ファイル転送サービスであるftp(ポート番号20、21)やリモートからログインするためのtelnet(ポート番号23)、sendmailなどが利用するsmtp(ポート番号25)などを監視します。

【 デーモン 】

ネットワークを通じてサービスを提供するサービス(サーバ)をデーモンと呼びます。 起動後は常にメモリ上に常駐していてクライアントからの要求にこたえます。


b. inetd

スーパーサーバの一つである inetd は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 そのソケットに対応したサービスを判定し、 サービスを提供するプログラムを起動します。 サービスプログラムが完了すると、 inetd は再びソケットの監視を行ないます。
inetdが各サービスごとに登録されたポート番号(/etc/inetd.confファイルに登録:ポート番号は/etc/servicesファイルに記述されている)を監視し、あるポートにクライアントからの要求があれば、それに対応するポート番号のデーモン(子プロセス)を起動させる。inetdの指示に従い配下の各サービスが活動するので、inetdがスーパーサーバと呼ばれます。


c. TCP Wrapper

intedを介在させて各サービスを起動させる際、inetdと各デーモンの間にはラッパー(Wrapper)プログラムと呼ばれるアクセス制御と記録を行うプログラムが動いています。それを行うのがtcpdデーモンです。
TCP Wrapper(tcpd) は、ラッパー=ラップをかけて包み込むことにより、アクセス制御と記録を行うプログラムです。
inetdが各デーモンを呼び出す前にアクセス許可と不許可とのリスト(/etc/hosts.allow、/etc/hosts.denyファイル)を参照し、許可されていれば該当デーモンを起動します。inted自体はアクセス制御の機能を持っていないので、このtcpdと組み合わせてアクセス制御を行っています。
ただし、tcpdのアクセス制御は、接続先のIPアドレスのみによるものであり、さらに、TCP Wrapperの名前が示すように、inetd経由で使用されるTCPポートしか監視することはできません。UDP等のプロトコルのアクセス制御はできません。
したがって、tcpdのアクセス制御はかなり限定されたものです。そのために、よりきめ細かな設定を行うことができるスーパーサーバとして、xinetdが利用されるようになってきました。

TCP Wrapperは、ネットワークサービスに対しホスト側でのアクセス制御を提供します。パッケージ内で最も重要なコンポーネントは/usr/lib/libwrap.a ライブラリです。一般的な表現では、TCPでラップしたサービスは、libwrap.a ライブラリに対してコンパイルされたものを指します。

TCP Wrapperのサービスに接続の要求があった場合、TCP Wrappeサービスは最初に ホストアクセスファイル(/etc/hosts.allow 及び/etc/hosts.deny)を参照して、クライアントが接続を許可されているかどうかを判定します。ほとんどの場合、その後、syslogデーモン(syslogd)を使用して/var/log/secure 又は/var/log/messages へその要求しているホスト名と要求サービスを書き込みます。

もし、クライアントが接続を許可されていた場合、TCP Wrappeは要求されたサービスへの接続制御を開放し、それ以上クライアントとサーバーとの間の通信を邪魔しません。
アクセスの制御とロギングに加えて、TCP Wrappeは先ずクライアントと折衝をするためのコマンドを起動して、それから要求されたネットワークサービスへの接続を拒否するか、制御の開放をします。

ファイアウォールでも同等のことはできます。ルール変更をしたあとファイアウォールの場合は再起動しないとルール変更が反映されませんが、TCP Wrapperはルール変更後再起動しないでもすぐに変更が反映されます。ただし、アクセス制御をしていますがTCP Wrapperの場合は、ポートを塞いでいるわけではありません。ルールで指定したネットワークからのアクセスに対して制御をしているだけに過ぎません。そのため、手軽に使えますがTCP Wrapperだけではファイアウォールの代替にはなりません。また、変更した設定内容を保存すると、即座にルール変更が反映されるため、リモート接続をしてまちがった設定をしてしまった場合、すぐにリモートから接続できなくなってしまいます。

TCPWrapperによるアクセス制御の大原則は、
アクセスはすべて拒否、限定的に一部のネットワークからのアクセスを許可します。

先に、拒否リスト(hosts.deny)を設定し、あとから許可する通信だけを許可リスト(hosts.allow)に書き加えて設定は完了です。 後は、いちいち、デーモン起動のコマンドを入力する必要はありません。

かつて、inetdをスーパサーバとして実装していたときは inetd + TCPWrapper の組み合わせがスーパーサーバでした。現在では、xinetdだけでデーモンの制御及びアクセスとネットワークごとのアクセス制御ができるので、Tcpwrapperはスーパーサーバーには使わなくなってきています。


d. xinetd

inetdを発展させ、さらに安全性を高め、より詳細な設定をできるようにしたのが、xinetdです。

inetdよりもxinetdを使うメリット

  • inetdでは、TCP Wrapperを用いなければアクセス制御をかけることができませんでした。これに対し、xinetdはその設定ファイルの記述のみで、アクセス制御をかけることが可能です。すなわち、 xinetdは、inetdとTCP Wrapperを組み合わせた機能を持っています(xinetdでもTCP Wrapperはサポートされているので利用することもできます)。
  • xinetdはTCPだけでなく、UDPのアクセス制御もできます。
  • inetd経由でデーモンを起動するユーザーはrootである必要がありました。xinetdではその必要がありません。xinetdではサービス専用のアカウントを作成することができ、そのアカウントの権限でデーモンを起動することができます。これにより、そのサービスがバッファオーバーフロー攻撃でシェルを実行されてしまっても、そのアカウントの権限のみであるのため、root権限の必要なファイルの書き換えなどはできません。

xinetdの動作に関する基本的な設定は、/etc/xinetd.confファイルで行います。xinetdに制御される各種サービスに共通の設定を行うものです。そして、各種サービスの個別の設定は、/etc/xinetd.dディレクトリ以下にあるファイルで行います。



e. SUID

SUID が設定されているコマンドやプログラムが実行されると、実行したユーザーではなく、そのファイルの所有者の権限で実行されたものとみなします。
そのため、所有者がrootであるファイルにSUIDが設定されているとroot権限で実行されることになります。
セキュリティ上は問題になる場合が多いので、SUIDのセットされているファイルをチェックしておく必要があります。

SUIDのセットされているファイルを見つけるには

# find / -perm -u+s -ls
983060 40 -rwsr-xr-x 1 root root 35832 9月 27 2009 /bin/ping 983074 64 -rwsr-xr-x 1 root root 59540 11月 8 18:23 /bin/mount 983111 24 -rwsr-xr-x 1 root root 24312 3月 21 2012 /bin/su 983114 40 -rwsr-xr-x 1 root root 40632 11月 8 18:23 /bin/umount 983061 36 -rwsr-xr-x 1 root root 31244 9月 27 2009 /bin/ping6 : 省略


f. シャドウパスワード

Linuxにおける旧来のパスワード管理方式では、/etc/passwdファイルに暗号化したパスワードを格納していました。  /etc/passwdファイルは一般ユーザーでも読み取り可能な上、時間をかければ暗号解読が可能なので、セキュリティ上好ましくありません。

そこで現在ではシャドウパスワードというパスワード管理方式が使われるのが一般的です。
この方式では、パスワードはスーパーユーザーにしか読み取り権限がない/etc/shadowファイルに格納されます。

パスワード管理方式はLinuxインストール時に選択しますが、運用中でも自由に切り替えることが可能です。
旧来のパスワード管理方式からシャドウパスワードに切り替えるには pwconv コマンドを使用します。シャドウパスワードに切り替えると、/etc/shadowファイルが作成され、パスワードはそこに格納されます。/etc/passwdファイルのパスワードフィールドには「x」が入ります。
逆にシャドウパスワードから旧来のパスワード管理方式に戻すには pwunconv コマンドを使用します。このとき/etc/shadowファイルは削除され、パスワードは/etc/passwdファイルに格納されます。

ユーザーパスワードと同様にグループパスワードもシャドウ化できます。
グループパスワードをシャドウ化するには grpconv コマンドを使用します。シャドウ化すると、/etc/gshadowファイルが作成され、パスワードはそこに格納されます。/etc/groupファイルのパスワードフィールドには「x」が入ります。
逆に旧来のパスワード管理方式に戻すには grpunconv コマンドを使用します。このとき/etc/gshadowファイルは削除され、パスワードは/etc/groupファイルに格納されます。



g. ログインの禁止

/etc/nologinファイルがあるとloginプロセスはroot以外の新たなユーザをログインさせません。(/etc/nologinファイルはゼロバイトでもよい) したがって/etc/nologinファイルを作成しておけば、それ以降root以外のユーザはログインできなくなります。一般ユーザがログインを行おうとすると/etc/nologinファイルの内容が表示されます。

システムメンテナンスを行う際など、/etc/nologinファイルにメッセージを書いておき、ログインユーザのログインを許可させたくないときなどに使用できます。
また、コンソールからrootしかログインしない場合にも使用できます。

サービスが使用するアカウントで、ログインする必要のないアカウントには、そのアカウントのログインシェルに /bin/false や /sbin/nologin をセットしておきます。

サービス用のアカウント serv をログイン禁止にします。
# usermod -s /sbin/nologin serv
# cat /etc/passwd
: serv:x:513:513::/home/serv:/sbin/nologin : 省略


h. iptables

iptablesとは、パケットフィルタリング、ファイアウォール機能です。 ホストで送受信するIPv4のパケットのフィルタリングや、NAT(network address translation)を管理するためのコマンドです。

iptablesの定義は「テーブル」単位で管理します。このテーブルは、パケットを制御する目的ごとにあり、iptablesコマンドではfilter、nat、mangleの三つのテーブルがあります。

  • filterテーブル : パケットの許可や破棄を設定するためのもので、パケットのフィルタリングのために使う。
  • natテーブル : パケットの送信元フィールドや、あて先フィールドの変更のために使う。
  • mangleテーブル : TTLの設定/変更やMARK付けなどパケットの内容を変更するために使う。

つまり、パケットのフィルタリングにはfilterテーブルを使うことになります。
iptablesで設定したルールは、パケットが通過する途中のどこで適用するかという場所ごとに「チェーン」と呼ぶ単位があります。具体的にいうと、受信したパケットは、まず「PREROUTING」チェーンを通過してから、自分あてのパケットか他人あてパケットかを判断し、他人あての転送対象であるパケットならば「FORWARD」チェーンを通過してから、「POSTROUTING」チェーンを通過させて外部に転送します。
一方、自分あてのパケットであれば、「INPUT」チェーンを通過させてからhttpデーモンやftpデーモンといった自分のプロセスに渡します。さらに、自分のプロセスで処理したあとに再び外部に送る必要があるパケットについては、「OUTPUT」チェーンを通過してから、やはり「POSTROUTING」チェーンを通過して外部に転送されます。

ルールが、どのチェーンで適用されるかは、filter、nat、mangleの三つのテーブルごとに異なります。パケットをフィルタリングするfilterテーブルで設定した内容は、このうちのINPUT/OUTPUT/FORWARDの三つのチェーンを通過する際に適用されます。つまり、パケットを転送するか、自分のプロセスに渡すか、自分のプロセスから出力するか、のいずれかの場合に、設定しておいたルールに適合するパケットがあった場合は、あらかじめ指定しておいたアクションを行います。

ルールでは、対象パケットを判定する基準と、該当した対象パケットをどう取り扱うかといった動作(ターゲットと呼ぶ)を定義します。
チェーンを通過するパケットが基準にマッチした場合はターゲットとして設定した動作が実行され、マッチしなかった場合は次のルールに渡されます。
ターゲットとして指定できる動作は、通過を許可、破棄、ログに記録、送信元に通知して破棄、次のルールに飛ばす、の5種類(これ以外にユーザー定義チェーン名も指定可能)です。

なお、filter以外のテーブルについては、natテーブルで設定した内容はPREROUTING/OUTPUT/POSTROUTINGチェーンを、mangleテーブルで設定した内容はPREROUTING/INPUT/OUTPUT/FORWARD/POSTROUTINGチェーンを通過したときに適用されます。

【 パケットフィルタリング 】

パケットのヘッダー部分を見て、 設定した条件(送信元IPアドレスや宛先IPアドレス、ポート番号など)と一致するかどうかを判 定して、 一致する場合は設定したアクション(転送、破棄、アドレス書き換えなど)を行うものである。

【 アドレス変換 】

パケットのヘッダー部分を見て、設定した条件と一致するかどうかを判定し、 一致する場合はヘッダーのIPアドレスやポート番号を書き換えるものである。

● iptables コマンド構文
  iptables [デーブル] [チェインオプション] [チェイン] [条件] [アクション]
※ 「-t テーブル」 を省略したときは、デフォルトとしてfilterテーブルに適応される。

● チェインオプション
 -P
 policy
指定したチェインのポリシーを変更。各チェーンのデフォルトルール(ポリシー)の変更
 -A
 --append
指定したチェインに新しいルールを追加
 -D
 --delete
指定チェインのルールを削除
 -N
 --new-chain
新しいユーザー定義チェインを作成
 -X
 --delete-chain
指定したユーザー定義チェインを削除
 -F ルールの初期化(※policyの設定は初期化されません)

● 条件オプション
 -j (--jump) ターゲット 条件に合った際のアクションを指定
 -p (--protocol) プロトコル名 プロトコル名(tcp, udp, icmp, all)を指定
 -s (--source) IPアドレス 送信元アドレス(IPアドレスかホスト名)を指定
 -d (--destination) IPアドレス 送信先アドレス(IPアドレスかホスト名)を指定
 --sport 送信元ポート番号 送信元ポート番号(80, httpなど)を指定
 --dport 宛先ポート番号 宛先ポート番号(80, httpなど)を指定
 -i (--in-interface) デバイス パケット入力のインターフェースを指定
 -o (--out-interface) デバイス パケットを出力するインターフェースを指定

● アクション
 ACCEPT パケットの通過を許可
 DROP 通過しようとするパケットの破棄
 LOG ログの取得
 REJECT パケットを拒否し、ICMPメッセージを返信

iptablesルール確認
# iptables -nL
Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3843 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination : 省略

Chain
iptablesは、指定したルールに当てはまるパケットに対しての処理内容を定義します。
このルールのグループをチェインと言い、このチェインには、最初から定義されている組み込みチェインと、後から定義するユーザー定義チェインの2種類があります。
target
targetはルールに該当するパケットの処理方法。条件にマッチするパケットの処理
prot
protはプロトコルの種類。
opt
optはオプションが記述される。(今回の例では記述されていない)
source
送信元IPアドレス
destination
送信先IPアドレス
右端の項目
注釈

● sshを許可する設定
# iptables -A INPUT -m state NEW -m tcp -p tcp -dport 22 -j ACCEPT

● httpを許可する設定
# iptables -A FORWORD -m state --state NEW -p tcp -d 192.168.1.50 -dport 80 -j ACCEPT



i. firewalld

Linuxにおけるパケットフィルタリングは、Linuxカーネル内のNetfilterと呼ぶサブシステムで行われます。
Firewalldも、iptablesも、その役割は、Netfilterを動作させるための設定を行うことと、Netfilterの設定内容を保持するための、「Netfilterのための管理インタフェース」です。
firewalldとiptablesを併用することはできません。iptablesを利用する場合はfirewalldを停止しておく必要があり、firewalldを利用する場合はiptablesを停止しておく必要があります。
Firewalldでは、主にINPUTチェインのパケットフィルタリングルールを制御します。また、チェインに対して直接デフォルトルールを設定するのではなく、「ゾーン」と呼ぶグループ単位でルールを定義します。
ゾーンとは、パケットフィルタリングのルールをまとめて、グループ化したものです。Firewalldでは、このゾーンを「インタフェース」に定義します。実際のルールの設定は「ゾーン」に対して行います。
firewalldは、サーバに搭載されたNICポートごとに仮想的なファイアウォールを設置して、それぞれについて受信を許可するポートを指定します。
firewalldは、「ゾーン」が事前に用意されており、各NICポートについて、適用するゾーンを指定します。それぞれのゾーンでは許可するサービス(フィルタリングの設定)を定義していきます。すると、そのゾーンを適用したNICポートに対して、対応するフィルタリング処理が行われるようになります。

● デフォルトゾーン
 ゾーン名 説明
 public サーバとして最低限必要な受信許可ルール。全てのインタフェースはデフォルトでpublicゾーンに所属している
 work 業務用クライアントPCとしての利用を想定したルール。社内LAN内で使う場合を想定している。クライアントPCに求められる必要最低限のルールが定義されている
 home 家庭用クライアントPCとしての利用を想定したルール。家庭内LANに接続して使う場合を想定している
 internal Linuxを用いてファイアウォールを構築するのに使うルール。内部ネットワークのインタフェースに設定する
 external 同じく、Linuxを用いてファイアウォールを構築するのに使うルール。こちらは、外部ネットワークのインタフェースに対して設定する
 dmz 同じく、Linuxを用いてファイアウォールを構築するのに使うルール。こちらは、DMZのインタフェースに対して設定する
 block 受信パケットを全て拒否するルール。送信パケットの戻り通信は許可される
 drop 受信パケットを全て破棄するルール。送信パケットの戻り通信は許可される
 trusted 全ての通信を許可するルール

ゾーンの設定ファイルはxml形式で/usr/lib/firewalld/zonesディレクトリに「ゾーン名.xml」ファイルとして用意してあります。
設定を変更する場合は、/etc/firewalld/zonesディレクトリにコピーして編集する。(systemdと同じ。)
さらに、firewalldには多くのサービスが事前に定義されており、これは/usr/lib/firewalld/servicesディレクトリ下の「サービス名.xml」ファイルに記述されています。
これも設定を変更する場合は、/etc/firewalld/servicesディレクトリにコピーして編集します。

● 定義されているサービスの一覧を表示する
# firewall-cmd --get-services

【 ランタイムルール 】

設定しただけのルールは、ランタイムルールで、これらのルールはメモリ上に保存されます。よって、firewalldをリスタートするとメモリからルールが消えます。
ランタイムルールは一時的なルールとなります。

【 パーマネントルール 】

パーマネントルールはファイル(/etc/firewalld/zones配下)に保存されます。firewalldをリスタートすると、ルールがファイルから読み出され、メモリに展開されます。
--permanent オプションをつけて設定します。


● ランタイムルールをパーマネントルールに保存する
# firewall-cmd --runtime-to-permanent

【 ダイレクトルール 】

ダイレクトルールは、ゾーンに設定するのではなく、iptablesのルールに直接定義を記述できます。
主にOUTPUTの設定を行う場合に設定します。ゾーンに設定する場合は、INPUTの設定のみで、OUTPUTの設定ができないため。
ダイレクトルールで設定された内容は、ゾーンに関係なく適用されます。
--direct オプションをつけて設定します。

● ダイレクトルール (追加)コマンド構文
  firewall-cmd [--permanent] --direct --add-rule {ipv4|ipv6|eb} テーブル チェイン 優先順位 引数

● ダイレクトルール追加
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT_direct 2 -j DROP

● ダイレクトルール (削除)コマンド構文
  firewall-cmd [--permanent] --direct --remove-rule {ipv4|ipv6|eb} テーブル チェイン 優先順位 引数

● ダイレクトルール削除
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT_direct 2 -j DROP

【 リッチルール 】

サービスやポート単位の許可・拒否ではなく細かく制御したいときに利用できるルールを作成できます。
制御できるのは通常どおりINに対するアクセスのみになります。


● firewalld動作状況確認
# firewall-cmd --state running

runningであればfirewalldは動作しています。


● firewalldを起動
# systemctl start firewall.service

● 割り当てられているゾーンの確認
# firewall-cmd --get-default-zone public

publicゾーンが割り当てられています。


● publicゾーンの設定内容を確認
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client ftp http samba ssh ports: 21000-21010/tcp 9000/tcp protocols: forward: no masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules:

● 割り当てられているゾーンとインターフェイスの確認
# firewall-cmd --get-active-zones public interfaces: ens33

● publicゾーンに設定されているサービスを確認
# firewall-cmd --list-services --zone=public

--zone=public を省略した場合、デフォルトゾーンとなります。
--permanentを指定すると、永続的な設定のみが表示され、指定しないと現在有効な設定が表示されます。


● 許可するサービスを追加する
# firewall-cmd --add-service=http --zone=public --permanent

● サービスを削除する
# firewall-cmd --remove-service=http --zone=public --permanent

--permanentを指定しない場合、設定は一時的に行われるだけで、再起動すると設定は失われます。また、指定した場合には、すぐには設定が反映されないので、次のようにしてfirewalldに設定を再読み込みさせる必要があります。
--permanentを指定した場合は、パーマネントルールに設定されるだけで、現在実行されているランタイムルールには設定されない。そのため --reloadが必要。

# firewall-cmd --reload

--permanentを指定した場合は、すぐに反映させるには、 上記コマンドが必要。


サービスが登録・定義されていない場合は、ポート番号とプロトコル(TCP/UDP)を指定して、ポートを公開する設定を行う必要があります。

● ポート状態の表示
# firewall-cmd --list-ports --zone=public 9000/tcp 21000-21010/tcp

● ポートの追加(その1)
# firewall-cmd --add-port=5900-5903/TCP

● ポートの追加(その2)
# firewall-cmd --permanent --add-port=POP3/TCP; firewall-cmd --reload

● ポートの削除
# firewall-cmd --permanent --remove-port=5900-5903; firewall-cmd --reload

ポートフォワーディングの設定
ただし、ポートフォワーディングの設定ができるのはIPv4のみ。

● ポートフォワーディングの表示
# firewall-cmd --permanent --list-forward-ports --zone=public

● ポートフォワーディングの追加
# firewall-cmd --permanent --add-forward-port="port=10022:proto=tcp:toaddr=192.168.7.2:toport=22"

● ポートフォワーディングの削除
# firewall-cmd --permanent --remove-forward-port="port=10022:proto=tcp:toaddr=192.168.7.2:toport=22"



z. 出題範囲概要

概要 :
  • 基本的なレベルのホストのセキュリティの設定方法を知っている。

詳細 :
  • シャドウパスワードおよびその機能について知っている。
    /etc/passwd, /etc/shadow, /etc/nologin
  • 使用していないネットワークサービスをオフにする。
    /etc/xinetd.d/, /etc/xinetd.conf
    /etc/inetd.d/, /etc/inetd.conf
    systemctl, /etc/init.d/
    chkconfig, service
  • Firewallの概要を知っている。
    iptables, firewalld

  [ 例題 ] 


         

    www.it-shikaku.jp